1. Field of the Invention
The present invention generally relates to motion control and, more particularly, to the control of motion of machines such as multi-jointed robots.
2. State of the Art
In industrial settings, robots generally each have at least one movable hand, or end effector, connected to a base by a plurality of movable joints. Normally, a servo motor is located at each joint in such robots to allow the end effectors to manipulate parts and tools in a controlled manner.
For a multi-jointed robot to perform complex and varied tasks, it is necessary to have coordination between the servo motors at each of the joints of the robot. More particularly, in any manipulation requiring a robotic end effector to move from one location to another, it is necessary to control the motion of each of the servo motors to prevent the end effector from overshooting, or undershooting, a targeted location. Since servo motors at different joints in a robot usually differ from one another in terms of their acceleration, deceleration and velocity characteristics, each servo motor must usually be controlled individually.
It is well known that servo motors for multi-jointed robots can be programmed for kinematic control by microprocessor-based computers. Often, the programming objective is to minimize the time required for an end effector to move from one location to another along a predefined path. For example, according to one strategy for achieving minimum travel time, all servo motors are operated at their maximum accelerations, decelerations, and/or maximum velocities.
In practice, it is conventional to test a sequence of motions of a multi-jointed robot in slow motion. Then, after an entire sequence of motions is tested, servo motors at the joints are simultaneously operated at normal speed. One difficulty with such practice is that the path of travel of an end effector of a multi-jointed robot may change when execution speed is increased. For example, rather than following a path segment that was planned during slow-motion testing, an end effector may deviate from the path segment when the joint motors are operated at full speed. Such speed-variant motion of an end effector can cause collisions with surrounding fixtures, can damage devices being manipulated and assembled by the robot, and can damage the robot itself. Thus, for multi-jointed robots, it is not only important that motions be accomplished in minimum time but, also, that the motions be speed invariant.
To achieve speed-invariant motions in multi-jointed robots, each joint motor can be programmed to function in normalized time. That is, each component motion can be assigned an equal fraction of the whole motion. In practice, the equations that have been employed in programming normalized-time motions are cubic acceleration and deceleration polynomials or other continuous functions. Usage of such motion equations, however, does not result in minimum motion times.